pOS introduction - from ProDad Home Page http://www.prodad.de pOS is a brand-new operating system in a future oriented concept. In contrast to most other OS, pOS doesn't keep up left-overs from the past or "inflated" sources. It is built entirely from scratch, thus designed for effectiveness in CPU and memory usage and offering new innovative features. Pre-emptive multitasking HAL-principles and intuitive user interface elements provide for an effective use of the hardware - just as an operating system is intended to be. No matter if you want to use it in set-top boxes, or as a replacement (maybe supplement?) for existing operating systems, pOS will convince you with its logically structured layout, and with approved as well as with innovative features. At first, pOS will be released in a version for 68k-Amigas (including the ğDracoĞ) and in a version for PowerPCs. The system can be installed parallel to the usual Amiga-OS, a feature that is of major importance, especially for developers. Of course t is also possible to run pOS as a stand-alone solution. Even the use in set-top boxes is possible without any problem, due to its complexity. Being under development for two years now, first applications based on this innovative operating system will be available in 1997 - for use in set top boxes or PCs, for video editing, for videophones, for easier and quicker processing of orders in large publishing companies, for internet and other online applications, for watching TV programs ...., several manufacturers are already interested or are co-operating with proDAD, since the complexity and modern conception both offer an environment that is unique, inexpensive and easy to use. The fact that this OS may run simultaneously with existing operating systems, and its interfaces to the outer world make it easy for developers to port software to it and also enables the user to draw profit from any of the new advantages pOS offers, with usual software still being fully functional. Special pOS Advantage: AMIGA pOS has been developed on the AMIGA platform, its conception makes it the ideal computer for setting up a project like this. Furthermore, the AMIGA and its Amiga-OS make it possible to easily run both operating systems in multi-tasking. This is why the development of pOS has been done with the usual tools on Amiga-OS-side. This is an important benefit for any pOS developer as well as for the user, who is still able to use software that has not been further developed under Amiga-OS, while running innovative new applications with all those innovative features under pOS. Thus, the entry or change to this operating system is done very smoothly. Origin and Preconditions As proDAD is a traditional Amiga software company, we kept track of the AMIGA development process for quite a long time now, hence we know about the requirements of users and developers. Commodore already thought of certain innovative things. But - as we all know - these announcements did never (or only partially) come true (Think about RTG or "datatypes"!). As developers, we found these things useful for our applications, their (non-)realisation, however, did not help us much... This is why pOS is to be considered as the up-to-date base for the realisation of such and many other individual wishes, inside as well as outside proDAD. Major drawbacks of Amiga-OS, primarily based on the missing of further development, provide another good reason to come up with a project like pOS. Things like the inflexible graphics system, outdated printer drivers, the lack of integrated network capability, and so on have lead to pseudo-standards and thus have caused confusion. Here as well, we designed a concept from our point of view as a software developer. The reason is simple: if WE have to face with additional efforts, all the OTHER developers will face the same problem - all of us more or less have to share the same sad lot. This is why we now try to improve the environmental conditions. Compatibility Compatibility is often considered very important. Other examples, however, have shown that user-level compatibility mainly causes disadvantages rather than advantages, especially since disadvantages are ported to a new OS as well. This is we try to stay compatible in a different way, i.e. on the stage of the developer. Thanks to a 2/3 compatibility to the Amiga-OS, any software written in standard ANSI C or C++ will run under p-OS sloightly modified after just one single compiler pass. This makes things easy, especially for AMIGA software developers Haage&Partner in Rosbach, Germany, provides the corresponding compiler environment with Power-PC-option. So why creating software for PowerPC from scratch as long as the OS is still emulated and slows down everything? For porting your existing 68K-software to pOS, you can still use your usual environment, even for cross porting from AmigaOS. All that is needed in addition is the supplement kit available from the developer support. With pOS, already the current version of a software product will be enhanced by new features such as speed or look and feel by only one single compiler pass. The user just updates and he or she will be excited by the new performance of the product! During this time, the developers may already integrate the pOS innovations in some applications and may improve the software, simply by using OS-features. If you finally want to port to a different platform, this implies just a small effort for the developer. With the multi-platform concept it doesn't matter which platform the application is to be written on but on which platform pOS is presently running... Multi-platform concept for pOS also means multi-processor compliance - pOS and its applications are ready even for this technique, which is currently getting more and more practicable, Basic Ideas With multi-platform technology in the OS, a bigger market opens for developers (more sales, less effort) for users (less isolation, better orientation) for press (more potential readers) Developing software becomes more attractive again, no platform (and its users) have to be excluded, the scope of users is simply enlarged Platforms beyond the mainstream, users and developers for such markets could feel a push, due to concentration on the most important precondition for success (besides the hardware) - on the uniform OS, a clean base for developers and users. The machine equipped with the best hardware will show its actual performance. A reliable comparison will now be possible since the basis of the application will always be the same. A computer with e.g. high end graphic performance will then show its strength and can be compared to other computers in a sensible way. Multitasking And Communications The best advantage of all, pre-emptive multitasking, has been further optimized in pOS and some technical extras have been added, which are appreciated not only by the user but also by developers. An example: in pOS all frequent task synchronisation is controlled via semaphores. This reduces CPU impact. Furthermore, a rule has been established, stating that a process or task the user is currently working in may always obtain the highest priority. Due to semaphore hierarchies the risk of "Deadlocks" as also been almost thoroughly eliminated. In addition to "ordinary" tasks, pOS offers "QuickTasks" which are executed almost three times as fast. Network Capabilities Network capability is already granted by the operating system and therefore much easier to configure. This turns it easier e.g. for third-party manufacturers of communications software to make applications for the connection to global or local networks. Additionally, it is much easier to put up teleconferencing projects via wide area networks. An example might be the joint constructing of a graphical object on different terminals, a procedure which is supported by the integrated RTG-features. It is ossible to edit one single project on three different computers, while one computer (equipped with PPC, for instance) simultaneously renders this object. As a result, internal processes are subdivided and co-ordinated in a most effective way, hardware utilisation and user convenience are achieved on a very high level. Sharing of peripherals and data are other possibilities that are made accessible and easy-to-use by the built-in networking resources. Also the OS networking integrity makes configuring much easier for the user. Graphics Display / RTG pOS automatically adjusts the graphic output parameters to the output media by means of a library. As a side effect, graphic output has (in contrast to the AMIGA-OS) become 24-BIT deep and considerably faster. Monitor support has turned much more flexible as well, e.g. several monitors may be used for one user-interface at the same time. The output media may also be a part of a network or even a virtual-reality component. The best thing for the programmer: The OS (not the developer) figures out whic type of hardware to use and how to configure it. This way software development has become much easier for graphics as well, supporting the principle of consequent use of available hardware. Optical Appearance User convenience, GUI functionality and optical appearance (based on AmigaOS) have been improved. However, the new graphical elements and features are designed for low resource impact. No loss of performance due to special GUI features will arise. Examples: Animated menus and gadgets provide more clearness. Finally, the windows can be moved around with the content visible. The Shell window has a slide control to make earlier outputs visible again and you can browse through the command history buffer with a pop-up function. All of these features improve convenience and clearness to the user. Some of these features are optionally also available for the AMIGA-OS, however, the already mentioned disadvantages of the outdated concept, the resulting loss in speed and compatibility problems show up again. As mentioned: We try - thinking as a developer - to provide a uniform, reasonable and future-oriented framework for other developers and last but not least for the user. DOS Compared to AMIGA-OS, DOS is reworked for effectiveness in speed and memory usage. The BCPL-System has been removed, too. Directory scan as well as read and write operations have thus been considerably accelerated. Data compression and decompression during read and write is a built-in feature of pOS. By the way, the partitioning limit is 1.09*10^12 bytes (1 terabyte) which in contrast to most other operating systems impressively underlines the up-to-date concept. For multimedia and huge databases this is an advantage which will get more and more important in the future. Development Under pOS Well, we will point out some (to name just a few...) of the advantages arising for the programmers: 99% compatible libraries and devices for comfortable porting to pOS; class administration by OS kernel class derivation possible at run time economic object administration concerning memory partitioning and runtime overhead class instances are filtered by the kernel and sent to the class dispatcher. Advantage: easier programming and therefore less vulnerability Graphic flexibility with RTG: specific adjustment to any output media via RTG-library that controls different levels of graphics display, from simple graphic operations (without clipping) up to the full integration of the graphic features needed. This allows quick processing at low optimisation or full hardware-related programming without compromise at maximum performance. more flexible monitor support, e.g. multi-monitor system for a larger working area and therefore better overview (provided by RTG) subdivision of graphic areas or even mouse positioning when using several monitors is done by the operating system (RTG) Support of simple-refreshed windows enhanced through simpler and faster clipping routines. The refresh of an already repeatedly clipped area is supported and promoted by high-performance OS-routines (too complicated in the past). pOS supports graphics conversion in application programs (colours, sizes). Each application edits any kind of graphics data in true color and leaves the subsequent display procedure to the OS. Depending on the graphics output device (true color scre n, 256 color screen, network, printer, ...) the appropriate driver will automatically do the conversion! Since pOS may run in an AMIGA-OS window (RTG!) the question of porting to pOS is really simple. This turns the developing very easy. As a nice side-effect, this ability also serves the user who - with the parallel use of e.g. Amiga-OS and pOS - obta ns a smooth switch from old to new software versions... Super-Bitmap much easier e.g. various gadgets can be placed on a super bitmap which can be scrolled. Coordinate transformations for display and message systems are completely processed by the operating system. Several layers in one window (daughter layers). Advantage: The OS could, for example, separate a gadget bar from a text input box. This serves the graphic performance because manual switching can be omitted. object-oriented GUI all visible elements such as text, graphics, animations etc. are objects. These objects can be combined object-oriented which provides for e.g. the very easy creation of a menu item with integrated animation (modular design). elf-layouting gadgets being proportionally font sensitive, i.e. no co-ordinate-programming but hierarchies. special debug-version of pOS: Software development is much easier since many errors are already analysed and displayed before the system may crash. With this, errors are easily determined and recorded. pOS provides a standard-prefs program. All changeable data is edited via libraries in pOS-Prefs. Hence redundant functionality for each setting is not required. Everything is administered by pOS-Prefs, so that a special settings program only has to ork on its own private data. Simpler debugging of programs - an example: source fragment: { ... const CHAR *name; pOS_FileHandle *FH; name=NULL; // *** NULL pointer if(FH=pOS_OpenFile(NULL,name,FILEHDMOD_Read)) { pOS_CloseFile(FH); } ... } Output in the debug window: Current: Task=0x7276170 Name=ShowDebug Error: |pOS_OpenFile| {rp const CHAR*} var: |name| = 0x0 better software with better debugging, full performance as soon as programming of the application has been completed. The programmer is supported by the kernel, which is to improve quality of the software and to significantly reduce developing time. Other OS prefer the other, less effective way: runtime security by large-scale crash protection, the consequence more overhead: loss of runtime performance need of extensive computing capacity extensive memory requirements If these facts seem impressive to you, take a closer look at the developer program (enclosed or available at proDAD).